package C牛客入门测试;

import java.io.BufferedReader;
import java.io.InputStreamReader;

/**
 * 牛牛手里有N根木棒,分别编号为1-N,现在他从N根里想取出三根木棒，使得三根木棒构成一个三角形,
 * 你能计算出牛牛有多少种取法吗?(考虑两种取法中使用的木棒编号有一个不一样就认为是不同的取法)。
 * 输入描述:
 * 首先输入一个正整数N，接下来的一行共有N个正整数表示每个木棒的长度
 */
public class 组装三角形 {

    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int count = Integer.parseInt(br.readLine());
        Integer[] integers = new Integer[count];
        String[] strings = br.readLine().split(" ");
        for (int i = 0; i < count; i++) {
            integers[i] = Integer.parseInt(strings[i]);
        }
        //能组装的不同三角形个数
        Integer total = 0;
        for (int i = 0; i < integers.length; i++) {
            for (int j = i + 1; j < integers.length; j++) {
                for (int k = j + 1; k < integers.length; k++) {
                    Integer int1 = integers[i];
                    Integer int2 = integers[j];
                    Integer int3 = integers[k];
                    if (int1 + int2 > int3 && int1 + int3 > int2 && int2 + int3 > int1) {
                        total++;
                    }
                }
            }
        }
        System.out.println(total);
    }

}
